﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects;
using System.Data.Objects.DataClasses;

namespace SmsVotes.DataAccess
{
    /// <summary>
    /// Доступ к данным для голосований
    /// </summary>
    public class VoteManager : BaseManager
    {
        /// <summary>
        /// Возвращает по ИД голосование
        /// </summary>
        /// <param name="voteID"></param>
        /// <returns></returns>
        public static Vote GetByID(int voteID)
        {
            var vote = (from item in EFContext.Votes where item.ID == voteID select item).FirstOrDefault();
            return vote;
        }
        /// <summary>
        /// Возвращает все голосования для данного логина
        /// </summary>
        /// <param name="login"></param>
        /// <returns></returns>
        public static List<Vote> GetAll(string login)
        {
            var votes = (from vote in EFContext.Votes
                         where vote.OwnerLogin == login
                         select vote);
            return votes.ToList();

        }
        /// <summary>
        /// Добавляет новое голосование
        /// </summary>
        /// <param name="vote"></param>
        public static void AddVote(Vote vote)
        {
            EFContext.AddToVotes(vote);
            EFContext.SaveChanges();
        }
        /// <summary>
        /// Удаляет голосование (присваевает null для владельца голосования)
        /// </summary>
        /// <param name="vote"></param>
        public static void Delete(Vote vote)
        {
            vote.OwnerLogin = null;
        }
    }
}
